/**
 * Copyleft (C) 2023-2024 maminjie <canpool@163.com>
 * SPDX-License-Identifier: BSD-3-Clause
 **/
#ifndef QXMATERIALSTYLE_P_H
#define QXMATERIALSTYLE_P_H

#include "qxmaterial_global.h"

// for internal
#include "matstyle.h"

QX_MATERIAL_BEGIN_NAMESPACE

#define MATERIAL_DISABLE_THEME_COLORS()                                                                                \
    do {                                                                                                               \
        if (d->useThemeColors == true) {                                                                               \
            d->useThemeColors = false;                                                                                 \
        }                                                                                                              \
    } while (0)

#define MATERIAL_SET_THEME_COLORS(value)                                                                               \
    do {                                                                                                               \
        if (d->useThemeColors == value) {                                                                              \
            return;                                                                                                    \
        }                                                                                                              \
        d->useThemeColors = value;                                                                                     \
    } while (0)

class MatStyle;
class MatTheme;

class MatStylePrivate
{
    QX_DECLARE_PUBLIC(MatStyle)
public:
    MatStylePrivate();
    ~MatStylePrivate();

    void init();

    MatTheme *theme;
};

QX_MATERIAL_END_NAMESPACE

#endif   // QXMATERIALSTYLE_P_H
